Raport zawiera analizę danych krystalograficznych wraz z oceną możliwości wykorzystania uczenia maszynowego do predykcji jakie cząsteczki mogą się kryć w niewymodelowanych fragmentach map intensywności. Dane wykorzystane do przeprowadzenia analizy pochodzą z Protein Data Bank. W zbiorze danych zawarte zostały szczegółowe informacje dotyczące ligandów.
Ze względu na duży rozmiar zbioru danych analiza korelacji pomiędzy zmiennymi była utrudniona i wymagała podziału kolumn na podzbiory. Również tworzenie regresora i klasyfikatora wiązało się z pewnymi trudnościami. Ze względu na ograniczenia sprzętowe i czasowe możliwe było korzystanie jedynie z niskich parametrów wejściowych mających istotny wpływ na jakoś predykcji.
W związku z tym przy próbie predykcji liczby atomów i elektronów lub wartości res_name, wykorzystującej kolumny silnie skorelowane (oparte o dane słownikowe oraz dane zamodelowane w pliku PDB) otrzymane rezultaty były bardzo dobre. Jednak przy próbie opartej o kolumny, których wartości obliczone zostały tylko na podstawie ligandu oraz te, których wartości są obliczone zostały na podstawie całego pliku PDB, uzyskana trafność regresji i klasyfikacji była niezadowalająca.
Niewątpliwie brak wiedziy z zakresu krystalografii znacznie utrudnił analizę danych. Z pewnością posiadając szerszą wiedzię dziedzinową możliwe byłoby wyciągnięcie większej ilości wniosków.
W procesie analizy wykorzystane zostały następujące biblioteki:
library(knitr)
library(dplyr)
library(data.table)
library(DT)
library(ggplot2)
library(plotly)
library(tidyr)
library(reshape2)
library(corrplot)
library(caret)
library(utils)
library(randomForest)
library(e1071)
library(infotheo)
Aby zapewnić powtarzalność wyników przy każdym uruchomieniu raportu na tych samych danych ustawiona została wartość seed.
set.seed(23)
Dane o ligandach zostały unieszczone w pliku “all_summary.csv”. Do ich wczytania wykorzystana została funkcja read.table. Ze względu na duży rozmiar pliku wejściowego konieczne było ustawienie parametru colClasses, aby przyspieszyć etap wczytywania danych. W tym celu najpierw została wczytana niewielka próbka danych z pliku (50000 wierszy). Na ich podstaie zostały określone typy poszczególnych kolumn. Dodatkowo utawiony został parametr nrows aby poprawić zarządzanie pamięcią.
Ze zbioru zostają usunięte wiersze posiadające w kolumnie res_name wartość równą: “UNK”, “UNX”, “UNL”, “DUM”, “N”, “BLOB”, “ALA”, “ARG”, “ASN”, “ASP”, “CYS”, “GLN”, “GLU”, “GLY”, “HIS”, “ILE”, “LEU”, “LYS”, “MET”, “MSE”, “PHE”, “PRO”, “SEC”, “SER”, “THR”, “TRP”, “TYR”, “VAL”, “DA”, “DG”, “DT”, “DC”, “DU”, “A”, “G”, “T”, “C”, “U”, “HOH”, “H20”, “WAT”. Ponadto zostają jednocześnie usunięte wiersze posiadające wartość pustą w zmiennej res_name.
Ze zbioru danych zostaje wyrzuconych 11 kolumn zawierających same wartości puste bądź identyczne wartości w całej kolumnie nie wnosząc tym samym żadnej istotnej informacji do dalszej analizy. Usunięte w ten sposób kolumny to: local_min fo_col, fc_col weight_col, grid_space, solvent_radius, solvent_opening_radius, resolution_max_limit, part_step_FoFc_std_min, part_step_FoFc_std_max, part_step_FoFc_std_step.
Do dalszej analizy wykorzystane zostanie jedynie 50 najpopularniejszych wartości res_name. Reszta zostaje usunięta ze zbioru.
Zbiór składa się z 381046 obserwacji oraz 401 atrybutów. Poniżej przedstawione zostały podstawowe statystyki.
Wyraźnie widoczna jest silna korelacja pomiędzy liczbą atomów i elektronów ligandu zamodelowaną w pliku PDB oraz wyliczonych na podstawie danych słownikowych. Zbliżona wartość danych zamodelowanych do słownikowych potwierdza ich wiarygodność. Użycie tych atybutów do budowy regresora przewidującego liczbę atomów i elektronów powinno dać w rezultacie bardzo dobrą trafność regresji.
Z powyższych wykresów wynika, że kolumny dotyczące niezmienników kształtu I2, I3, I4, I5 prawdopodobnie nie będą miały dużego wpływu na predykcję liczby atomów i elektronów. Natomiast kolumny part_01_* Z* oraz part_01_* E* mogą mież duży wpływ na trafność regresji analizowanej w dalszej sekcji.
Z wykresu wynika, że szczególnie przydatne do predykcji liczby atomów i elektronów mogą być atrybuty local_volume oraz local_electrons.
Dane dotyczące wartościami obliczonymi na podstawie całego pliku PDB zupełnie nie są skorelowane z wartościami liczby elektronów, a zatem będzie je można pominąć przy budowie regresora.
Wykres przedstawia zestawienie liczności 50 najpopularniejszych klas.
Widoczny na wykresie znaczny rozrzut liczebności klas co może utrudnić budowę klasyfikatora. Konieczne będzie zasotowanie mechanizmu stratyfikacji.Na wykresie rozkładu liczby atomów można zauważyć duże niezrównoważenie liczby atomów. Zdecydowana większość ligandów zawiera niewielką liczbę atomów. Powyżej 20 atomów w cząsteczce posiadają jedynie nieliczne bardziej złożone ligandy.
Wysoki stopień korelacji przedstawiony we wcześniejszej sekcji znajduje swoje odzwierciedlenie również tutaj. Biorąc pod uwagę fakt, że w skład atomu wchodzą elektrony to wraz ze zmianą liczności atomów w ligandzie zmienia się również proporcjonalnie liczba elektronów. Co tłumaczy podobny kształt wykresu rozkładu elektronów do rozkładu atomów.
Poniższy wykres potwierdza, iż zdecydowanie radziej zdarzają się ligandy złożone z wielu atomów i elektronów. Najliczniejsze klasy posiadają niską średnią wartość liczby elektronów i atomów, natomiast mniejliczne klasy cechują się wyższą średnią liczbą atomów i elektronów.
Niezgodność dla każdej klasy została wyliczona jako wartość średnia z różnicy liczby atomów bądź elektronów ligandu zamodelowanej w pliku PDB a liczby atomów bądź elektronów wyliczonej na podstawie danych słownikowych.
Na wykresach kolorem czerwonym została zaznaczona wrtość średnia.
Przed przystąpieniem do predykcji wartości liczby atomów i elektronów dokonana zostanie dodatkowa filtracja danych. Na podstawie infromacji uzyskanych w wyniku wcześniejszych punktów możliwe jest pominięcie w dalszych obliczeniach części kolumn słabo skorelowanych z poszukiwanymi atrybutami.
Do budowy regresora został użyty algorytm regresji liniowej. Zbiór danych został podzielony na dwa zbiory: uczący (75% próbek) oraz testowy (25% próbek). W schemacie uczenia zastosowany został algorytm powtórzonej walidacji krzyżowej.
## Linear Regression
##
## 283416 samples
## 62 predictor
##
## No pre-processing
## Resampling: Cross-Validated (20 fold, repeated 1 times)
## Summary of sample sizes: 269245, 269245, 269245, 269245, 269245, 269246, ...
## Resampling results:
##
## RMSE Rsquared MAE
## 9.810723 0.4571192 5.45837
##
## Tuning parameter 'intercept' was held constant at a value of TRUE
## Linear Regression
##
## 283416 samples
## 76 predictor
##
## No pre-processing
## Resampling: Cross-Validated (20 fold, repeated 1 times)
## Summary of sample sizes: 269245, 269246, 269245, 269246, 269245, 269246, ...
## Resampling results:
##
## RMSE Rsquared MAE
## 0.002268117 0.9999999 0.0002978884
##
## Tuning parameter 'intercept' was held constant at a value of TRUE
## Linear Regression
##
## 283417 samples
## 62 predictor
##
## No pre-processing
## Resampling: Cross-Validated (20 fold, repeated 1 times)
## Summary of sample sizes: 269245, 269247, 269247, 269247, 269247, 269246, ...
## Resampling results:
##
## RMSE Rsquared MAE
## 66.04292 0.4559301 36.66236
##
## Tuning parameter 'intercept' was held constant at a value of TRUE
## Linear Regression
##
## 283417 samples
## 76 predictor
##
## No pre-processing
## Resampling: Cross-Validated (20 fold, repeated 1 times)
## Summary of sample sizes: 269247, 269245, 269246, 269245, 269246, 269245, ...
## Resampling results:
##
## RMSE Rsquared MAE
## 0.03149025 0.9999996 0.003435103
##
## Tuning parameter 'intercept' was held constant at a value of TRUE
Jak widać w oby przypadkach zdecydowanie lepszy wynik uzyskaliśmy w wyniku regresji korzystających z danych zamodelowanych w pliku PDB i słownikowych. Jest to związane z silną korelacją tych zmiennych z liczbą atomów i elektronów.
Do stworzenia klasyfikatora wykorzystywane były kolumny z pominięciem tych dotyczących watrości zamodelowanych, opartych na danych słownikowych oraz “skeleton”. Ze względu na długi czas obliczeń, konieczna była redukcja liczby zmiennych biorących udział w budowie klasyfikatora. Wybór atrybutów został oparty o miarę mutual information. Poniżej przedstawione zostały wyliczone miary.
| blob_coverage | 2.3691447 |
| res_coverage | 2.3691456 |
| title | 0.1053626 |
| pdb_code | 0.1053355 |
| res_name | 3.0382514 |
| res_id | 0.1322302 |
| chain_id | 0.0194567 |
| blob_volume_coverage | 0.2495969 |
| blob_volume_coverage_second | 0.0898787 |
| res_volume_coverage | 0.4440761 |
| res_volume_coverage_second | 0.0948410 |
| local_volume | 0.2713668 |
| local_electrons | 0.3213270 |
| local_mean | 0.2046620 |
| local_std | 0.1869364 |
| local_max | 0.1683923 |
| local_max_over_std | 0.2361217 |
| local_skewness | 0.1791040 |
| local_cut_by_mainchain_volume | 0.2371719 |
| local_near_cut_count_C | 0.1978132 |
| local_near_cut_count_other | 0.0140359 |
| local_near_cut_count_S | 0.1097525 |
| local_near_cut_count_O | 0.2234483 |
| local_near_cut_count_N | 0.1849215 |
| resolution | 0.0997946 |
| FoFc_mean | 0.0528482 |
| FoFc_std | 0.0878070 |
| FoFc_square_std | 0.0878070 |
| FoFc_min | 0.0822687 |
| FoFc_max | 0.1193085 |
| part_01_shape_segments_count | 0.2645303 |
| part_01_density_segments_count | 0.2645303 |
| part_01_volume | 0.2802927 |
| part_01_electrons | 0.3124934 |
| part_01_mean | 0.1333972 |
| part_01_std | 0.1987013 |
| part_01_max | 0.1683924 |
| part_01_max_over_std | 0.2361181 |
| part_01_skewness | 0.1905173 |
| part_01_parts | 0.0318876 |
| part_01_shape_O3 | 0.2955618 |
| part_01_shape_O4 | 0.2979039 |
| part_01_shape_O5 | 0.2965167 |
| part_01_shape_FL | 0.2900151 |
| part_01_shape_O3_norm | 0.2300543 |
| part_01_shape_O4_norm | 0.2319273 |
| part_01_shape_O5_norm | 0.2169201 |
| part_01_shape_FL_norm | 0.1864856 |
| part_01_shape_I1 | 0.3014721 |
| part_01_shape_I2 | 0.3031235 |
| part_01_shape_I3 | 0.3017501 |
| part_01_shape_I4 | 0.2894523 |
| part_01_shape_I5 | 0.2859914 |
| part_01_shape_I6 | 0.2977169 |
| part_01_shape_I1_norm | 0.2250690 |
| part_01_shape_I2_norm | 0.2265937 |
| part_01_shape_I3_norm | 0.2196014 |
| part_01_shape_I4_norm | 0.1870135 |
| part_01_shape_I5_norm | 0.1756734 |
| part_01_shape_I6_norm | 0.2238600 |
| part_01_shape_M000 | 0.2802927 |
| part_01_shape_CI | 0.1396236 |
| part_01_shape_E3_E1 | 0.2247516 |
| part_01_shape_E2_E1 | 0.1442625 |
| part_01_shape_E3_E2 | 0.1721688 |
| part_01_shape_sqrt_E1 | 0.3232966 |
| part_01_shape_sqrt_E2 | 0.3233869 |
| part_01_shape_sqrt_E3 | 0.2741935 |
| part_01_density_O3 | 0.3142637 |
| part_01_density_O4 | 0.3219817 |
| part_01_density_O5 | 0.3233830 |
| part_01_density_FL | 0.2985308 |
| part_01_density_O3_norm | 0.2884064 |
| part_01_density_O4_norm | 0.2812386 |
| part_01_density_O5_norm | 0.2533358 |
| part_01_density_FL_norm | 0.2399764 |
| part_01_density_I1 | 0.3121641 |
| part_01_density_I2 | 0.3159896 |
| part_01_density_I3 | 0.3124345 |
| part_01_density_I4 | 0.2989005 |
| part_01_density_I5 | 0.2934945 |
| part_01_density_I6 | 0.3102946 |
| part_01_density_I1_norm | 0.2786944 |
| part_01_density_I2_norm | 0.2761159 |
| part_01_density_I3_norm | 0.2763006 |
| part_01_density_I4_norm | 0.2374666 |
| part_01_density_I5_norm | 0.2079595 |
| part_01_density_I6_norm | 0.2820457 |
| part_01_density_M000 | 0.3124934 |
| part_01_density_CI | 0.1408813 |
| part_01_density_E3_E1 | 0.2286831 |
| part_01_density_E2_E1 | 0.1496383 |
| part_01_density_E3_E2 | 0.1761350 |
| part_01_density_sqrt_E1 | 0.3287550 |
| part_01_density_sqrt_E2 | 0.3197275 |
| part_01_density_sqrt_E3 | 0.2734698 |
| part_01_shape_Z_7_3 | 0.2757044 |
| part_01_shape_Z_0_0 | 0.2802927 |
| part_01_shape_Z_7_0 | 0.2028321 |
| part_01_shape_Z_7_1 | 0.2458391 |
| part_01_shape_Z_3_0 | 0.2201788 |
| part_01_shape_Z_5_2 | 0.2548240 |
| part_01_shape_Z_6_1 | 0.2545717 |
| part_01_shape_Z_3_1 | 0.2356855 |
| part_01_shape_Z_6_0 | 0.1798538 |
| part_01_shape_Z_2_1 | 0.2552874 |
| part_01_shape_Z_6_3 | 0.2906819 |
| part_01_shape_Z_2_0 | 0.2535216 |
| part_01_shape_Z_6_2 | 0.2856040 |
| part_01_shape_Z_5_0 | 0.2090246 |
| part_01_shape_Z_5_1 | 0.2443667 |
| part_01_shape_Z_4_2 | 0.2801108 |
| part_01_shape_Z_1_0 | 0.2052268 |
| part_01_shape_Z_4_1 | 0.2748938 |
| part_01_shape_Z_7_2 | 0.2663011 |
| part_01_shape_Z_4_0 | 0.2027238 |
| part_01_density_Z_7_3 | 0.2544970 |
| part_01_density_Z_0_0 | 0.3124934 |
| part_01_density_Z_7_0 | 0.2164337 |
| part_01_density_Z_7_1 | 0.2265320 |
| part_01_density_Z_3_0 | 0.1966747 |
| part_01_density_Z_5_2 | 0.2459735 |
| part_01_density_Z_6_1 | 0.2881872 |
| part_01_density_Z_3_1 | 0.2304989 |
| part_01_density_Z_6_0 | 0.2110675 |
| part_01_density_Z_2_1 | 0.2845677 |
| part_01_density_Z_6_3 | 0.2953989 |
| part_01_density_Z_2_0 | 0.2973497 |
| part_01_density_Z_6_2 | 0.2959463 |
| part_01_density_Z_5_0 | 0.2083863 |
| part_01_density_Z_5_1 | 0.2341277 |
| part_01_density_Z_4_2 | 0.2648359 |
| part_01_density_Z_1_0 | 0.2002108 |
| part_01_density_Z_4_1 | 0.2586611 |
| part_01_density_Z_7_2 | 0.2458349 |
| part_01_density_Z_4_0 | 0.2328241 |
Na tej podstawie do wyselekcjonowanych zostało 10 kolumn biorących udział w dalszych obliczeniach: part_01_shape_sqrt_E2, part_01_density_sqrt_E2, part_01_density_O5, part_01_density_O4, local_electrons, part_01_density_sqrt_E1, part_01_density_I2, part_01_shape_sqrt_E1, part_01_density_O3, part_01_density_I3.
Ze względu na duży rozrzut wartości res_name przy podziale zbioru wykorzystany został mechanizm stratyfikacji. W schemacie uczenia zastosowany został algorytm powtórzonej oceny krzyżowej (podział na 10 zbiorów). Model klasyfikacyjny został stworzony zgodnie z algorytmem Random Forest z doborem parametrów optymalizujących mtry na przedziale od 5 do 15. Z powodów wydajnościowych predykcję ograniczono tylko do 10 drzew decyzyjnych.
## Random Forest
##
## 283429 samples
## 10 predictor
## 50 classes: '1PE', 'ACT', 'ACY', 'ADP', 'ATP', 'BR', 'CA', 'CD', 'CL', 'CLA', 'COA', 'CU', 'DMS', 'EDO', 'EPE', 'FAD', 'FE', 'FE2', 'FMN', 'FMT', 'GDP', 'GOL', 'HEC', 'HEM', 'IOD', 'K', 'MAN', 'MES', 'MG', 'MLY', 'MN', 'MPD', 'NA', 'NAD', 'NAG', 'NAP', 'NDP', 'NI', 'NO3', 'PEG', 'PG4', 'PGE', 'PLP', 'PO4', 'SAH', 'SEP', 'SF4', 'SO4', 'TRS', 'ZN'
##
## No pre-processing
## Resampling: Cross-Validated (10 fold, repeated 1 times)
## Summary of sample sizes: 255083, 255091, 255081, 255090, 255083, 255081, ...
## Resampling results across tuning parameters:
##
## mtry Accuracy Kappa
## 5 0.3419762 0.2867716
## 6 0.3430559 0.2880429
## 7 0.3443895 0.2894775
## 8 0.3437402 0.2888151
## 9 0.3434757 0.2885757
## 10 0.3437720 0.2889537
## 11 0.3429534 0.2880752
## 12 0.3426748 0.2876614
## 13 0.3434933 0.2886331
## 14 0.3435109 0.2886468
## 15 0.3427418 0.2878310
##
## Accuracy was used to select the optimal model using the largest value.
## The final value used for the model was mtry = 7.
Jak widać trafność klasyfikacji nie jest wysoka. Z pewnością wykorzystanie większej ilości drzew decyzyjnych polepszyłoby rezultat. Poniżej przedstawiona została macierz predykcji.
## Confusion Matrix and Statistics
##
## Reference
## Prediction 1PE ACT ACY ADP ATP BR CA CD CL CLA COA CU
## 1PE 22 8 1 2 2 0 5 0 4 3 5 0
## ACT 5 131 25 4 4 8 40 4 63 7 3 1
## ACY 1 17 5 0 0 0 0 3 8 1 2 1
## ADP 3 4 0 346 113 0 6 1 3 3 9 1
## ATP 1 2 0 59 135 1 6 0 2 5 3 0
## BR 0 0 0 0 0 12 31 4 43 0 1 1
## CA 10 47 14 12 3 73 1922 80 301 11 6 64
## CD 1 16 5 0 1 1 17 195 6 1 0 5
## CL 8 94 14 7 7 116 432 36 2503 14 10 20
## CLA 9 11 1 8 7 1 11 1 13 138 12 1
## COA 3 5 0 5 2 0 3 0 2 5 36 1
## CU 0 2 1 0 0 2 15 7 0 1 1 51
## DMS 4 45 10 0 2 10 58 6 71 4 5 7
## EDO 92 372 68 27 15 35 161 13 434 79 71 9
## EPE 1 3 0 2 0 1 9 0 7 1 6 0
## FAD 0 0 0 13 8 1 6 1 2 6 6 0
## FE 0 2 0 1 2 0 9 8 7 1 1 3
## FE2 0 3 0 0 0 1 16 4 2 0 0 3
## FMN 4 0 0 5 5 0 4 0 1 4 2 0
## FMT 3 20 5 0 1 0 8 1 15 2 1 1
## GDP 0 0 0 69 39 0 0 0 1 2 3 0
## GOL 131 425 78 68 38 40 287 24 509 127 69 12
## HEC 0 2 0 0 1 0 0 1 0 0 5 0
## HEM 5 28 2 15 22 3 20 3 24 24 26 5
## IOD 1 10 0 0 0 26 68 37 81 2 1 6
## K 1 3 1 0 0 9 80 4 120 1 2 2
## MAN 0 7 2 11 1 0 7 2 4 12 4 2
## MES 3 3 2 5 3 0 18 1 15 1 4 1
## MG 10 54 11 9 7 8 198 13 158 18 7 7
## MLY 6 10 1 3 3 2 9 4 4 8 10 0
## MN 0 4 3 5 2 3 49 21 10 0 0 21
## MPD 1 9 2 0 1 0 5 0 7 4 2 1
## NA 2 37 4 1 0 15 78 4 253 5 4 4
## NAD 2 4 1 27 8 2 8 0 4 16 21 0
## NAG 114 76 15 126 69 4 117 9 66 396 94 6
## NAP 0 1 1 12 11 0 5 0 6 6 12 0
## NDP 1 2 1 6 1 0 5 0 2 4 2 0
## NI 0 2 0 1 0 1 10 10 2 0 0 1
## NO3 0 13 0 0 0 0 4 0 3 0 1 0
## PEG 13 14 2 2 0 3 10 0 14 10 4 0
## PG4 21 7 0 1 3 0 4 0 7 7 8 0
## PGE 8 5 0 1 1 1 2 1 3 1 0 1
## PLP 0 2 0 12 2 0 6 0 2 0 3 0
## PO4 3 27 2 7 7 7 79 16 48 3 6 2
## SAH 1 1 2 30 13 0 1 1 0 3 8 0
## SEP 2 1 0 3 2 0 13 1 2 1 1 1
## SF4 0 1 0 0 4 0 4 8 2 0 0 0
## SO4 36 439 107 31 19 111 1105 144 891 68 51 59
## TRS 0 3 1 0 0 1 5 0 1 0 0 1
## ZN 1 43 14 12 6 33 286 141 68 19 13 286
## Reference
## Prediction DMS EDO EPE FAD FE FE2 FMN FMT GDP GOL HEC HEM
## 1PE 1 24 6 3 0 1 1 2 0 35 0 4
## ACT 47 167 9 6 3 4 3 25 1 173 10 31
## ACY 3 21 2 3 1 1 0 4 0 14 0 1
## ADP 0 9 4 22 2 1 14 1 107 16 1 7
## ATP 0 2 0 11 1 0 6 2 38 7 1 13
## BR 3 7 1 1 0 1 0 1 0 12 0 1
## CA 58 73 14 10 43 48 5 16 2 131 2 42
## CD 3 9 0 0 10 10 0 0 0 8 0 4
## CL 107 354 14 5 23 15 2 43 0 386 2 39
## CLA 5 37 2 6 1 1 7 1 6 79 2 23
## COA 3 16 10 3 0 0 6 1 4 14 0 10
## CU 0 2 0 0 6 2 1 0 1 0 0 0
## DMS 113 89 10 0 4 4 2 16 0 62 4 12
## EDO 148 2925 56 33 11 12 23 223 12 2276 32 190
## EPE 0 10 64 2 1 0 0 2 3 19 0 2
## FAD 3 8 0 631 1 3 9 1 8 8 1 19
## FE 1 4 0 1 18 4 0 0 1 5 0 2
## FE2 3 2 0 1 2 10 1 0 0 2 0 1
## FMN 1 3 0 11 1 1 240 1 9 6 0 4
## FMT 11 60 0 1 0 1 0 37 0 47 4 8
## GDP 0 0 1 6 0 0 5 0 81 0 0 1
## GOL 145 2166 52 67 16 28 28 151 9 4024 41 208
## HEC 0 8 0 1 0 0 1 0 1 5 79 77
## HEM 17 55 3 14 3 1 6 8 5 65 213 1574
## IOD 24 20 4 0 6 9 0 1 0 23 2 4
## K 6 19 0 0 3 2 0 2 0 22 0 1
## MAN 2 15 1 5 0 0 0 1 0 23 0 4
## MES 7 11 27 11 2 1 1 0 0 21 0 3
## MG 18 124 5 4 7 6 2 23 2 227 4 26
## MLY 5 25 7 8 1 3 5 3 1 39 2 12
## MN 0 8 4 0 12 21 1 1 0 13 0 5
## MPD 4 22 0 0 0 0 0 0 0 60 1 7
## NA 19 163 3 2 4 2 2 8 1 174 1 19
## NAD 4 13 2 38 1 1 12 1 7 18 1 12
## NAG 26 295 32 130 19 12 67 26 49 621 18 104
## NAP 3 10 1 18 0 1 4 0 3 14 2 11
## NDP 0 7 0 20 1 0 3 0 0 4 1 6
## NI 0 1 0 0 0 2 0 1 1 2 0 1
## NO3 3 10 1 0 1 0 0 4 0 9 1 1
## PEG 6 86 7 6 5 1 2 10 1 125 1 16
## PG4 2 29 7 5 3 1 2 2 1 46 1 5
## PGE 1 20 1 0 1 0 0 0 0 34 0 3
## PLP 0 2 3 3 3 0 1 2 1 4 1 1
## PO4 36 39 9 3 12 10 9 5 6 71 3 29
## SAH 0 2 3 8 0 0 6 0 12 8 1 0
## SEP 0 4 3 1 2 1 1 0 2 7 0 6
## SF4 0 0 0 0 0 0 0 1 2 0 0 2
## SO4 798 652 97 25 60 77 37 88 14 1052 40 183
## TRS 1 4 2 1 2 1 0 1 0 20 0 1
## ZN 19 31 13 9 108 90 3 11 5 55 5 47
## Reference
## Prediction IOD K MAN MES MG MLY MN MPD NA NAD NAG NAP
## 1PE 0 2 6 1 12 4 1 3 4 4 39 1
## ACT 11 11 11 17 46 12 7 13 41 7 50 7
## ACY 3 2 0 2 7 1 6 2 8 1 4 1
## ADP 1 4 12 1 12 3 4 1 1 50 60 13
## ATP 1 1 1 1 7 1 2 0 1 12 34 8
## BR 15 8 0 1 6 2 1 0 14 0 2 0
## CA 175 189 8 19 229 14 134 11 101 7 72 7
## CD 42 4 0 2 6 0 15 0 1 0 3 0
## CL 212 292 10 31 339 16 40 20 532 13 73 9
## CLA 0 6 23 4 20 5 2 5 7 13 167 8
## COA 3 5 4 1 4 4 1 1 4 17 31 8
## CU 18 2 0 0 3 0 10 0 0 0 3 1
## DMS 41 13 1 8 20 6 4 9 23 3 13 6
## EDO 70 66 68 54 287 100 30 132 328 86 469 58
## EPE 5 7 3 15 2 10 2 2 4 4 15 1
## FAD 0 0 3 3 1 2 2 1 0 31 47 40
## FE 5 3 0 4 6 0 7 1 2 0 3 1
## FE2 7 2 1 1 2 0 9 1 1 0 3 1
## FMN 0 1 2 1 2 0 1 0 0 5 14 18
## FMT 3 2 1 1 10 1 0 2 9 3 9 1
## GDP 1 0 1 0 1 0 1 0 0 6 12 5
## GOL 74 79 149 88 524 177 56 269 417 112 886 71
## HEC 0 0 0 1 1 0 0 1 1 0 7 0
## HEM 5 6 14 5 18 3 4 6 9 11 65 10
## IOD 219 19 0 3 24 2 9 1 17 2 6 4
## K 22 68 0 4 26 1 8 1 29 1 10 1
## MAN 0 2 23 1 20 5 3 3 1 6 48 4
## MES 4 5 2 112 15 10 8 5 5 8 19 2
## MG 18 41 27 28 747 33 45 19 106 9 108 15
## MLY 3 0 6 10 15 106 6 11 8 9 49 4
## MN 7 4 2 3 18 3 75 3 7 2 21 1
## MPD 3 0 3 2 10 8 3 18 2 3 17 1
## NA 32 31 2 5 83 4 7 12 266 3 32 3
## NAD 1 1 6 2 2 3 3 1 0 365 75 87
## NAG 7 29 170 38 213 176 44 67 67 177 3283 122
## NAP 0 0 0 2 2 1 1 2 2 45 40 221
## NDP 0 0 1 0 2 0 1 1 0 11 18 45
## NI 7 0 2 1 4 0 11 1 0 0 1 0
## NO3 2 1 1 2 8 1 0 1 2 1 4 0
## PEG 3 2 7 6 8 9 1 6 13 8 58 4
## PG4 0 0 3 0 8 4 1 1 5 4 39 3
## PGE 0 0 1 2 3 3 0 5 4 3 22 1
## PLP 0 3 6 10 2 4 1 0 1 10 8 6
## PO4 26 17 5 11 55 8 34 8 14 7 30 2
## SAH 1 0 6 1 2 3 0 1 1 11 15 5
## SEP 0 2 7 2 10 0 8 2 2 1 10 2
## SF4 1 1 0 0 1 0 1 0 1 0 1 0
## SO4 418 208 60 153 703 107 256 138 293 45 339 57
## TRS 1 3 7 0 12 0 1 2 6 1 10 2
## ZN 111 30 5 10 92 15 185 10 32 2 55 5
## Reference
## Prediction NDP NI NO3 PEG PG4 PGE PLP PO4 SAH SEP SF4 SO4
## 1PE 0 0 2 19 22 9 0 7 2 2 0 20
## ACT 5 3 25 22 9 5 0 38 1 3 0 204
## ACY 0 0 1 3 0 1 0 2 0 1 1 20
## ADP 10 1 0 3 1 1 5 6 20 4 0 14
## ATP 4 0 0 1 0 0 3 8 17 5 4 4
## BR 0 1 0 2 0 0 0 1 0 0 0 19
## CA 5 45 6 11 10 7 8 87 4 16 3 563
## CD 0 19 0 0 0 0 1 8 0 0 1 32
## CL 11 10 16 33 14 13 1 93 5 5 12 551
## CLA 6 2 2 16 7 5 2 13 3 4 0 38
## COA 7 1 0 3 2 0 1 3 1 2 0 23
## CU 0 2 2 0 0 0 0 2 0 0 1 4
## DMS 4 5 16 8 6 3 0 44 0 3 0 305
## EDO 36 12 52 293 136 108 7 153 19 16 0 754
## EPE 0 1 0 5 1 2 2 1 3 2 0 31
## FAD 28 0 0 4 2 3 1 3 6 1 0 9
## FE 1 2 0 1 0 0 1 8 0 0 0 11
## FE2 0 2 0 1 0 0 1 4 0 0 0 16
## FMN 12 1 0 1 0 1 0 3 4 2 0 8
## FMT 2 1 0 7 2 2 1 5 2 1 0 28
## GDP 5 0 0 1 0 0 3 1 8 1 1 4
## GOL 36 9 54 395 192 134 34 234 34 35 3 1123
## HEC 1 0 0 2 0 0 1 0 0 1 0 7
## HEM 5 2 3 11 7 3 6 30 5 2 4 78
## IOD 0 11 3 2 3 2 1 17 0 0 1 122
## K 1 4 3 2 1 0 0 13 1 1 2 53
## MAN 2 0 1 4 4 3 0 4 1 2 1 22
## MES 2 1 0 1 5 3 8 15 1 4 0 41
## MG 2 11 10 23 11 11 5 83 3 9 3 406
## MLY 6 0 1 7 8 2 5 5 4 5 0 46
## MN 1 23 0 1 0 1 0 24 0 4 1 61
## MPD 3 1 1 8 3 3 2 6 0 2 1 40
## NA 1 2 6 19 5 6 2 12 1 2 1 95
## NAD 37 2 1 10 3 2 1 5 13 1 0 13
## NAG 85 14 9 131 124 74 42 114 64 79 1 408
## NAP 93 0 1 2 1 2 2 4 2 0 0 8
## NDP 54 0 1 2 0 1 4 3 0 1 0 8
## NI 1 9 0 0 0 0 0 5 0 0 1 12
## NO3 0 0 20 0 3 1 0 1 0 0 0 17
## PEG 5 0 3 36 22 8 0 4 2 1 0 49
## PG4 0 1 1 13 25 9 0 4 1 0 0 12
## PGE 0 0 2 16 6 10 0 5 1 0 0 10
## PLP 4 0 0 0 1 0 190 3 5 2 2 10
## PO4 1 10 12 7 1 3 13 173 1 11 3 481
## SAH 1 0 0 1 0 0 1 1 144 1 0 3
## SEP 1 1 1 1 2 1 1 18 6 68 0 12
## SF4 0 2 0 1 0 0 0 3 0 0 357 1
## SO4 39 102 138 102 46 32 38 1429 10 50 3 8094
## TRS 0 0 0 1 0 0 0 4 0 0 0 8
## ZN 6 95 4 2 0 2 3 56 1 20 4 211
## Reference
## Prediction TRS ZN
## 1PE 0 5
## ACT 5 43
## ACY 2 4
## ADP 0 10
## ATP 0 4
## BR 0 8
## CA 8 428
## CD 2 71
## CL 13 142
## CLA 2 13
## COA 1 5
## CU 0 76
## DMS 3 28
## EDO 35 73
## EPE 1 9
## FAD 1 3
## FE 2 21
## FE2 0 25
## FMN 0 1
## FMT 0 9
## GDP 0 3
## GOL 120 187
## HEC 2 4
## HEM 5 22
## IOD 0 47
## K 2 23
## MAN 4 7
## MES 3 6
## MG 50 123
## MLY 3 13
## MN 2 93
## MPD 2 5
## NA 3 22
## NAD 1 7
## NAG 28 160
## NAP 0 2
## NDP 1 0
## NI 0 26
## NO3 0 3
## PEG 2 8
## PG4 1 3
## PGE 0 3
## PLP 0 9
## PO4 6 83
## SAH 1 0
## SEP 0 22
## SF4 1 5
## SO4 46 582
## TRS 39 3
## ZN 13 2490
##
## Overall Statistics
##
## Accuracy : 0.3441
## 95% CI : (0.3411, 0.3472)
## No Information Rate : 0.1494
## P-Value [Acc > NIR] : < 2.2e-16
##
## Kappa : 0.2894
## Mcnemar's Test P-Value : NA
##
## Statistics by Class:
##
## Class: 1PE Class: ACT Class: ACY Class: ADP
## Sensitivity 0.0415879 0.065012 1.247e-02 0.364979
## Specificity 0.9971040 0.986596 9.984e-01 0.993968
## Pos Pred Value 0.0748299 0.095620 3.125e-02 0.380220
## Neg Pred Value 0.9946154 0.979760 9.958e-01 0.993564
## Prevalence 0.0056008 0.021334 4.246e-03 0.010037
## Detection Rate 0.0002329 0.001387 5.294e-05 0.003663
## Detection Prevalence 0.0031127 0.014505 1.694e-03 0.009635
## Balanced Accuracy 0.5193459 0.525804 5.054e-01 0.679474
## Class: ATP Class: BR Class: CA Class: CD Class: CL
## Sensitivity 0.236842 0.0225989 0.36665 0.241038 0.43200
## Specificity 0.997028 0.9980089 0.96377 0.996754 0.95202
## Pos Pred Value 0.326087 0.0603015 0.37291 0.390782 0.37043
## Neg Pred Value 0.995374 0.9944935 0.96282 0.993465 0.96247
## Prevalence 0.006035 0.0056220 0.05550 0.008565 0.06134
## Detection Rate 0.001429 0.0001271 0.02035 0.002065 0.02650
## Detection Prevalence 0.004383 0.0021069 0.05457 0.005283 0.07154
## Balanced Accuracy 0.616935 0.5103039 0.66521 0.618896 0.69201
## Class: CLA Class: COA Class: CU Class: DMS Class: EDO
## Sensitivity 0.134766 0.0665434 0.086882 0.068237 0.38170
## Specificity 0.993385 0.9976041 0.998242 0.989256 0.90973
## Pos Pred Value 0.182540 0.1379310 0.236111 0.101802 0.27187
## Neg Pred Value 0.990544 0.9946385 0.994312 0.983469 0.94339
## Prevalence 0.010842 0.0057278 0.006215 0.017533 0.08113
## Detection Rate 0.001461 0.0003812 0.000540 0.001196 0.03097
## Detection Prevalence 0.008004 0.0027633 0.002287 0.011752 0.11391
## Balanced Accuracy 0.564075 0.5320738 0.542562 0.528746 0.64572
## Class: EPE Class: FAD Class: FE Class: FE2 Class: FMN
## Sensitivity 0.1333333 0.555947 0.0450000 0.0257069 0.463320
## Specificity 0.9979036 0.996839 0.9986071 0.9987455 0.998520
## Pos Pred Value 0.2452107 0.681425 0.1208054 0.0781250 0.633245
## Neg Pred Value 0.9955834 0.994611 0.9959492 0.9959819 0.997045
## Prevalence 0.0050820 0.012017 0.0042350 0.0041185 0.005484
## Detection Rate 0.0006776 0.006681 0.0001906 0.0001059 0.002541
## Detection Prevalence 0.0027633 0.009804 0.0015775 0.0013552 0.004013
## Balanced Accuracy 0.5656185 0.776393 0.5218036 0.5122262 0.730920
## Class: FMT Class: GDP Class: GOL Class: HEC
## Sensitivity 0.0509642 0.2045455 0.3990 0.1656184
## Specificity 0.9968952 0.9980756 0.8790 0.9986060
## Pos Pred Value 0.1128049 0.3091603 0.2827 0.3761905
## Neg Pred Value 0.9926798 0.9966557 0.9244 0.9957768
## Prevalence 0.0076865 0.0041927 0.1068 0.0050502
## Detection Rate 0.0003917 0.0008576 0.0426 0.0008364
## Detection Prevalence 0.0034727 0.0027739 0.1507 0.0022234
## Balanced Accuracy 0.5239297 0.6013105 0.6390 0.5821122
## Class: HEM Class: IOD Class: K Class: MAN Class: MES
## Sensitivity 0.56578 0.138783 0.058020 0.0343284 0.167414
## Specificity 0.99012 0.993313 0.994779 0.9973236 0.996662
## Pos Pred Value 0.63468 0.260714 0.122523 0.0839416 0.263529
## Neg Pred Value 0.98687 0.985482 0.988242 0.9931300 0.994076
## Prevalence 0.02945 0.016707 0.012409 0.0070936 0.007083
## Detection Rate 0.01666 0.002319 0.000720 0.0002435 0.001186
## Detection Prevalence 0.02626 0.008894 0.005876 0.0029010 0.004500
## Balanced Accuracy 0.77795 0.566048 0.526400 0.5158260 0.582038
## Class: MG Class: MLY Class: MN Class: MPD Class: NA
## Sensitivity 0.204658 0.122261 0.0713606 0.0225282 0.111204
## Specificity 0.976355 0.995758 0.9950214 0.9972772 0.987008
## Pos Pred Value 0.258120 0.210736 0.1388889 0.0659341 0.181943
## Neg Pred Value 0.968293 0.991900 0.9896072 0.9917072 0.977137
## Prevalence 0.038644 0.009179 0.0111275 0.0084594 0.025325
## Detection Rate 0.007909 0.001122 0.0007941 0.0001906 0.002816
## Detection Prevalence 0.030640 0.005326 0.0057173 0.0028904 0.015479
## Balanced Accuracy 0.590506 0.559009 0.5331910 0.5099027 0.549106
## Class: NAD Class: NAG Class: NAP Class: NDP Class: NI
## Sensitivity 0.326184 0.51305 0.253440 0.1032505 2.206e-02
## Specificity 0.994857 0.94396 0.996442 0.9982327 9.989e-01
## Pos Pred Value 0.431953 0.39954 0.398917 0.2454545 7.759e-02
## Neg Pred Value 0.991945 0.96387 0.993067 0.9950229 9.958e-01
## Prevalence 0.011847 0.06775 0.009232 0.0055373 4.320e-03
## Detection Rate 0.003864 0.03476 0.002340 0.0005717 9.529e-05
## Detection Prevalence 0.008946 0.08700 0.005865 0.0023293 1.228e-03
## Balanced Accuracy 0.660521 0.72851 0.624941 0.5507416 5.105e-01
## Class: NO3 Class: PEG Class: PG4 Class: PGE
## Sensitivity 0.0503778 0.0291734 0.0364964 0.0211416
## Specificity 0.9989474 0.9939174 0.9970672 0.9981804
## Pos Pred Value 0.1680672 0.0597015 0.0833333 0.0552486
## Neg Pred Value 0.9960035 0.9872347 0.9929900 0.9950886
## Prevalence 0.0042032 0.0130650 0.0072524 0.0050079
## Detection Rate 0.0002118 0.0003812 0.0002647 0.0001059
## Detection Prevalence 0.0012599 0.0063843 0.0031763 0.0019163
## Balanced Accuracy 0.5246626 0.5115454 0.5167818 0.5096610
## Class: PLP Class: PO4 Class: SAH Class: SEP
## Sensitivity 0.479798 0.062568 0.364557 0.184282
## Specificity 0.998565 0.985952 0.998352 0.998236
## Pos Pred Value 0.584615 0.118412 0.481605 0.290598
## Neg Pred Value 0.997811 0.972126 0.997334 0.996805
## Prevalence 0.004193 0.029274 0.004182 0.003907
## Detection Rate 0.002012 0.001832 0.001525 0.000720
## Detection Prevalence 0.003441 0.015468 0.003166 0.002477
## Balanced Accuracy 0.739181 0.524260 0.681455 0.591259
## Class: SF4 Class: SO4 Class: TRS Class: ZN
## Sensitivity 0.868613 0.5737 0.0951220 0.50415
## Specificity 0.999543 0.8559 0.9988728 0.97445
## Pos Pred Value 0.892500 0.4114 0.2689655 0.52125
## Neg Pred Value 0.999426 0.9196 0.9960660 0.97269
## Prevalence 0.004351 0.1494 0.0043409 0.05229
## Detection Rate 0.003780 0.0857 0.0004129 0.02636
## Detection Prevalence 0.004235 0.2083 0.0015352 0.05058
## Balanced Accuracy 0.934078 0.7148 0.5469974 0.73930